'''
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Created by victor
# Created Time: '2020/1/10 8:42'
'''

"""
list_display 控制列表展示的字段
search_fields 控制可以通过搜索框搜索的字段名称，xadmin使用的是模糊查询
list_filter 可以进行过滤操作的列
ordering 默认排序的字段
readonly_fields 在编辑页面的只读字段
exclude 在编辑页面隐藏的字段
list_editable 在列表页可以快速直接编辑的字段
show_detail_fileds 在列表页提供快速显示详情信息
refresh_times 指定列表页的定时刷新
list_export 控制列表页导出数据的可选格式
show_bookmarks 控制是否显示书签功能
data_charts 控制显示图标的样式
model_icon 控制菜单的图标
"""

import xadmin

from .models import Course, Lesson, Video, CourseResource, CourseCategory

class CourseCategoryAdmin(object):
    '''
    课程目录
    '''
    # 控制列表展示的字段
    list_display = ['pid', 'name', 'level', 'path', 'add_time']
    search_fields = ['pid', 'name', 'level', 'path']
    list_filter = ['pid', 'name', 'level', 'path', 'add_time']
class CourseAdmin(object):
    '''
    课程
    '''
    # 控制列表展示的字段
    list_display = ['name', 'description', 'introduce', 'degree', 'image', 'tag', 'is_banner', 'course_org', 'category',
                    'teacher', 'youneed_know', 'teacher_tell', 'learn_times', 'students', 'fav_nums', 'click_nums',
                    'money', 'add_time']
    search_fields = ['name', 'description', 'introduce', 'degree', 'image', 'tag', 'is_banner', 'course_org', 'category',
                    'teacher', 'youneed_know', 'teacher_tell', 'learn_times', 'students', 'fav_nums', 'click_nums',
                    'money']
    list_filter = ['name', 'description', 'introduce', 'degree', 'image', 'tag', 'is_banner', 'course_org', 'category',
                    'teacher', 'youneed_know', 'teacher_tell', 'learn_times', 'students', 'fav_nums', 'click_nums',
                    'money', 'add_time']  # 过滤


class LessonAdmin(object):
    '''章节'''
    list_display = ['course', 'name', 'add_time']
    search_fields = ['course', 'name']
    # 这里course__name是根据课程名称过滤
    list_filter = ['course__name', 'name', 'add_time']


class VideoAdmin(object):
    '''视频'''

    list_display = ['lesson', 'name', 'add_time']
    search_fields = ['lesson', 'name']
    list_filter = ['lesson', 'name', 'add_time']


class CourseResourceAdmin(object):
    '''课程资源'''

    list_display = ['course', 'name', 'download', 'add_time']
    search_fields = ['course', 'name', 'download']
    list_filter = ['course__name', 'name', 'download', 'add_time']


# 将管理器与model进行注册关联
xadmin.site.register(Course, CourseAdmin)
xadmin.site.register(Lesson, LessonAdmin)
xadmin.site.register(Video, VideoAdmin)
xadmin.site.register(CourseResource, CourseResourceAdmin)
xadmin.site.register(CourseCategory, CourseCategoryAdmin)